
cfi.o:     file format elf32-i386

Disassembly of section .text:

00000000 <cfi_array_free>:
   0:	55                   	push   %ebp
   1:	89 e5                	mov    %esp,%ebp
   3:	56                   	push   %esi
   4:	53                   	push   %ebx
   5:	8b 5d 08             	mov    0x8(%ebp),%ebx
   8:	85 db                	test   %ebx,%ebx
   a:	74 6b                	je     77 <cfi_array_free+0x77>
   c:	8b 43 0c             	mov    0xc(%ebx),%eax
   f:	85 c0                	test   %eax,%eax
  11:	75 0e                	jne    21 <cfi_array_free+0x21>
  13:	89 5d 08             	mov    %ebx,0x8(%ebp)
  16:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  19:	5b                   	pop    %ebx
  1a:	5e                   	pop    %esi
  1b:	5d                   	pop    %ebp
  1c:	e9 fc ff ff ff       	jmp    1d <cfi_array_free+0x1d>
  21:	31 f6                	xor    %esi,%esi
  23:	8b 53 08             	mov    0x8(%ebx),%edx
  26:	39 d6                	cmp    %edx,%esi
  28:	7c 44                	jl     6e <cfi_array_free+0x6e>
  2a:	83 ec 0c             	sub    $0xc,%esp
  2d:	8b 43 0c             	mov    0xc(%ebx),%eax
  30:	50                   	push   %eax
  31:	e8 fc ff ff ff       	call   32 <cfi_array_free+0x32>
  36:	83 c4 10             	add    $0x10,%esp
  39:	89 5d 08             	mov    %ebx,0x8(%ebp)
  3c:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  3f:	5b                   	pop    %ebx
  40:	5e                   	pop    %esi
  41:	5d                   	pop    %ebp
  42:	e9 fc ff ff ff       	jmp    43 <cfi_array_free+0x43>
  47:	83 ec 0c             	sub    $0xc,%esp
  4a:	8b 40 4c             	mov    0x4c(%eax),%eax
  4d:	50                   	push   %eax
  4e:	e8 fc ff ff ff       	call   4f <cfi_array_free+0x4f>
  53:	8b 43 0c             	mov    0xc(%ebx),%eax
  56:	59                   	pop    %ecx
  57:	8b 14 b0             	mov    (%eax,%esi,4),%edx
  5a:	52                   	push   %edx
  5b:	e8 fc ff ff ff       	call   5c <cfi_array_free+0x5c>
  60:	83 c4 10             	add    $0x10,%esp
  63:	8b 53 08             	mov    0x8(%ebx),%edx
  66:	46                   	inc    %esi
  67:	39 d6                	cmp    %edx,%esi
  69:	7d bf                	jge    2a <cfi_array_free+0x2a>
  6b:	8b 43 0c             	mov    0xc(%ebx),%eax
  6e:	8b 04 b0             	mov    (%eax,%esi,4),%eax
  71:	85 c0                	test   %eax,%eax
  73:	74 f1                	je     66 <cfi_array_free+0x66>
  75:	eb d0                	jmp    47 <cfi_array_free+0x47>
  77:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  7a:	5b                   	pop    %ebx
  7b:	5e                   	pop    %esi
  7c:	5d                   	pop    %ebp
  7d:	c3                   	ret    
  7e:	89 f6                	mov    %esi,%esi

00000080 <cfi_detect>:
  80:	55                   	push   %ebp
  81:	89 e5                	mov    %esp,%ebp
  83:	57                   	push   %edi
  84:	56                   	push   %esi
  85:	53                   	push   %ebx
  86:	83 ec 7c             	sub    $0x7c,%esp
  89:	8b 45 10             	mov    0x10(%ebp),%eax
  8c:	8b 7d 08             	mov    0x8(%ebp),%edi
  8f:	85 c0                	test   %eax,%eax
  91:	0f 94 c2             	sete   %dl
  94:	85 ff                	test   %edi,%edi
  96:	0f 94 c0             	sete   %al
  99:	09 d0                	or     %edx,%eax
  9b:	83 ca ff             	or     $0xffffffff,%edx
  9e:	a8 01                	test   $0x1,%al
  a0:	0f 85 bf 08 00 00    	jne    965 <cfi_detect+0x8e5>
  a6:	50                   	push   %eax
  a7:	50                   	push   %eax
  a8:	6a 10                	push   $0x10
  aa:	6a 01                	push   $0x1
  ac:	e8 fc ff ff ff       	call   ad <cfi_detect+0x2d>
  b1:	8b 55 10             	mov    0x10(%ebp),%edx
  b4:	83 c4 10             	add    $0x10,%esp
  b7:	85 c0                	test   %eax,%eax
  b9:	89 02                	mov    %eax,(%edx)
  bb:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
  c0:	0f 84 9f 08 00 00    	je     965 <cfi_detect+0x8e5>
  c6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
  c9:	89 38                	mov    %edi,(%eax)
  cb:	89 48 04             	mov    %ecx,0x4(%eax)
  ce:	8d 55 c8             	lea    0xffffffc8(%ebp),%edx
  d1:	50                   	push   %eax
  d2:	8b 47 04             	mov    0x4(%edi),%eax
  d5:	52                   	push   %edx
  d6:	51                   	push   %ecx
  d7:	57                   	push   %edi
  d8:	ff 50 18             	call   *0x18(%eax)
  db:	ba f8 ff ff ff       	mov    $0xfffffff8,%edx
  e0:	83 c4 10             	add    $0x10,%esp
  e3:	85 c0                	test   %eax,%eax
  e5:	0f 85 7a 08 00 00    	jne    965 <cfi_detect+0x8e5>
  eb:	8b 45 d8             	mov    0xffffffd8(%ebp),%eax
  ee:	83 f8 08             	cmp    $0x8,%eax
  f1:	89 45 c4             	mov    %eax,0xffffffc4(%ebp)
  f4:	0f 95 c2             	setne  %dl
  f7:	83 f8 10             	cmp    $0x10,%eax
  fa:	0f 95 c0             	setne  %al
  fd:	21 d0                	and    %edx,%eax
  ff:	a8 01                	test   $0x1,%al
 101:	74 0f                	je     112 <cfi_detect+0x92>
 103:	ba fd ff ff ff       	mov    $0xfffffffd,%edx
 108:	83 7d c4 20          	cmpl   $0x20,0xffffffc4(%ebp)
 10c:	0f 85 53 08 00 00    	jne    965 <cfi_detect+0x8e5>
 112:	8b 55 10             	mov    0x10(%ebp),%edx
 115:	8b 4d c4             	mov    0xffffffc4(%ebp),%ecx
 118:	c1 e9 03             	shr    $0x3,%ecx
 11b:	8b 1a                	mov    (%edx),%ebx
 11d:	89 4d bc             	mov    %ecx,0xffffffbc(%ebp)
 120:	89 4b 08             	mov    %ecx,0x8(%ebx)
 123:	56                   	push   %esi
 124:	56                   	push   %esi
 125:	6a 04                	push   $0x4
 127:	51                   	push   %ecx
 128:	e8 fc ff ff ff       	call   129 <cfi_detect+0xa9>
 12d:	8b 55 10             	mov    0x10(%ebp),%edx
 130:	83 c4 10             	add    $0x10,%esp
 133:	89 43 0c             	mov    %eax,0xc(%ebx)
 136:	8b 02                	mov    (%edx),%eax
 138:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
 13d:	8b 48 0c             	mov    0xc(%eax),%ecx
 140:	85 c9                	test   %ecx,%ecx
 142:	0f 84 1d 08 00 00    	je     965 <cfi_detect+0x8e5>
 148:	c7 45 c0 00 00 00 00 	movl   $0x0,0xffffffc0(%ebp)
 14f:	8b 45 c4             	mov    0xffffffc4(%ebp),%eax
 152:	39 45 c0             	cmp    %eax,0xffffffc0(%ebp)
 155:	0f 83 08 08 00 00    	jae    963 <cfi_detect+0x8e3>
 15b:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 15e:	c7 45 ac 98 00 00 00 	movl   $0x98,0xffffffac(%ebp)
 165:	c7 45 a8 ff 00 00 00 	movl   $0xff,0xffffffa8(%ebp)
 16c:	c7 45 b0 fc ff ff ff 	movl   $0xfffffffc,0xffffffb0(%ebp)
 173:	d3 65 ac             	shll   %cl,0xffffffac(%ebp)
 176:	d3 65 a8             	shll   %cl,0xffffffa8(%ebp)
 179:	c7 45 b8 01 00 00 00 	movl   $0x1,0xffffffb8(%ebp)
 180:	eb 25                	jmp    1a7 <cfi_detect+0x127>
 182:	8b 4d a8             	mov    0xffffffa8(%ebp),%ecx
 185:	53                   	push   %ebx
 186:	8b 55 0c             	mov    0xc(%ebp),%edx
 189:	8b 47 04             	mov    0x4(%edi),%eax
 18c:	51                   	push   %ecx
 18d:	52                   	push   %edx
 18e:	57                   	push   %edi
 18f:	ff 50 2c             	call   *0x2c(%eax)
 192:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
 195:	01 c0                	add    %eax,%eax
 197:	83 c4 10             	add    $0x10,%esp
 19a:	89 45 b8             	mov    %eax,0xffffffb8(%ebp)
 19d:	83 7d b8 04          	cmpl   $0x4,0xffffffb8(%ebp)
 1a1:	0f 8f c9 07 00 00    	jg     970 <cfi_detect+0x8f0>
 1a7:	8b 5d bc             	mov    0xffffffbc(%ebp),%ebx
 1aa:	50                   	push   %eax
 1ab:	8b 75 0c             	mov    0xc(%ebp),%esi
 1ae:	8b 45 ac             	mov    0xffffffac(%ebp),%eax
 1b1:	8b 4f 04             	mov    0x4(%edi),%ecx
 1b4:	50                   	push   %eax
 1b5:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
 1b8:	0f af d8             	imul   %eax,%ebx
 1bb:	8d 04 9b             	lea    (%ebx,%ebx,4),%eax
 1be:	89 c2                	mov    %eax,%edx
 1c0:	c1 e2 04             	shl    $0x4,%edx
 1c3:	01 d0                	add    %edx,%eax
 1c5:	01 f0                	add    %esi,%eax
 1c7:	89 de                	mov    %ebx,%esi
 1c9:	c1 e6 04             	shl    $0x4,%esi
 1cc:	50                   	push   %eax
 1cd:	57                   	push   %edi
 1ce:	ff 51 2c             	call   *0x2c(%ecx)
 1d1:	58                   	pop    %eax
 1d2:	8b 45 0c             	mov    0xc(%ebp),%eax
 1d5:	5a                   	pop    %edx
 1d6:	01 f0                	add    %esi,%eax
 1d8:	8b 57 04             	mov    0x4(%edi),%edx
 1db:	50                   	push   %eax
 1dc:	57                   	push   %edi
 1dd:	ff 52 28             	call   *0x28(%edx)
 1e0:	83 c4 10             	add    $0x10,%esp
 1e3:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 1e6:	d3 e8                	shr    %cl,%eax
 1e8:	3c 51                	cmp    $0x51,%al
 1ea:	75 96                	jne    182 <cfi_detect+0x102>
 1ec:	8d 14 33             	lea    (%ebx,%esi,1),%edx
 1ef:	50                   	push   %eax
 1f0:	8b 75 0c             	mov    0xc(%ebp),%esi
 1f3:	50                   	push   %eax
 1f4:	01 f2                	add    %esi,%edx
 1f6:	8b 47 04             	mov    0x4(%edi),%eax
 1f9:	c7 45 b0 fb ff ff ff 	movl   $0xfffffffb,0xffffffb0(%ebp)
 200:	52                   	push   %edx
 201:	57                   	push   %edi
 202:	ff 50 28             	call   *0x28(%eax)
 205:	83 c4 10             	add    $0x10,%esp
 208:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 20b:	d3 e8                	shr    %cl,%eax
 20d:	3c 52                	cmp    $0x52,%al
 20f:	0f 85 6d ff ff ff    	jne    182 <cfi_detect+0x102>
 215:	83 7d b8 04          	cmpl   $0x4,0xffffffb8(%ebp)
 219:	0f 8f 51 07 00 00    	jg     970 <cfi_detect+0x8f0>
 21f:	8b 75 b8             	mov    0xffffffb8(%ebp),%esi
 222:	50                   	push   %eax
 223:	50                   	push   %eax
 224:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
 227:	8b 57 04             	mov    0x4(%edi),%edx
 22a:	0f af c6             	imul   %esi,%eax
 22d:	89 45 a4             	mov    %eax,0xffffffa4(%ebp)
 230:	c1 e0 03             	shl    $0x3,%eax
 233:	8b 5d a4             	mov    0xffffffa4(%ebp),%ebx
 236:	89 45 a0             	mov    %eax,0xffffffa0(%ebp)
 239:	01 d8                	add    %ebx,%eax
 23b:	01 c0                	add    %eax,%eax
 23d:	89 45 9c             	mov    %eax,0xffffff9c(%ebp)
 240:	8b 45 0c             	mov    0xc(%ebp),%eax
 243:	8b 4d 9c             	mov    0xffffff9c(%ebp),%ecx
 246:	01 c8                	add    %ecx,%eax
 248:	50                   	push   %eax
 249:	57                   	push   %edi
 24a:	ff 52 28             	call   *0x28(%edx)
 24d:	83 c4 10             	add    $0x10,%esp
 250:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 253:	d3 e8                	shr    %cl,%eax
 255:	3c 59                	cmp    $0x59,%al
 257:	0f 85 fe 07 00 00    	jne    a5b <cfi_detect+0x9db>
 25d:	8b 55 10             	mov    0x10(%ebp),%edx
 260:	8b 75 c0             	mov    0xffffffc0(%ebp),%esi
 263:	c1 ee 03             	shr    $0x3,%esi
 266:	8b 02                	mov    (%edx),%eax
 268:	8b 58 0c             	mov    0xc(%eax),%ebx
 26b:	50                   	push   %eax
 26c:	50                   	push   %eax
 26d:	6a 50                	push   $0x50
 26f:	6a 01                	push   $0x1
 271:	e8 fc ff ff ff       	call   272 <cfi_detect+0x1f2>
 276:	83 c4 10             	add    $0x10,%esp
 279:	8b 4d 10             	mov    0x10(%ebp),%ecx
 27c:	89 04 b3             	mov    %eax,(%ebx,%esi,4)
 27f:	8b 01                	mov    (%ecx),%eax
 281:	8b 40 0c             	mov    0xc(%eax),%eax
 284:	8b 34 b0             	mov    (%eax,%esi,4),%esi
 287:	85 f6                	test   %esi,%esi
 289:	0f 84 ab 07 00 00    	je     a3a <cfi_detect+0x9ba>
 28f:	8d 46 04             	lea    0x4(%esi),%eax
 292:	8b 5d a4             	mov    0xffffffa4(%ebp),%ebx
 295:	89 45 b4             	mov    %eax,0xffffffb4(%ebp)
 298:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 29b:	50                   	push   %eax
 29c:	50                   	push   %eax
 29d:	8b 45 9c             	mov    0xffffff9c(%ebp),%eax
 2a0:	8b 57 04             	mov    0x4(%edi),%edx
 2a3:	01 d8                	add    %ebx,%eax
 2a5:	01 c8                	add    %ecx,%eax
 2a7:	50                   	push   %eax
 2a8:	57                   	push   %edi
 2a9:	ff 52 1c             	call   *0x1c(%edx)
 2ac:	8b 4d a4             	mov    0xffffffa4(%ebp),%ecx
 2af:	58                   	pop    %eax
 2b0:	8d 04 89             	lea    (%ecx,%ecx,4),%eax
 2b3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 2b6:	5a                   	pop    %edx
 2b7:	8b 57 04             	mov    0x4(%edi),%edx
 2ba:	8d 04 81             	lea    (%ecx,%eax,4),%eax
 2bd:	50                   	push   %eax
 2be:	57                   	push   %edi
 2bf:	ff 52 20             	call   *0x20(%edx)
 2c2:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 2c5:	d3 e8                	shr    %cl,%eax
 2c7:	0f b6 d8             	movzbl %al,%ebx
 2ca:	8b 47 04             	mov    0x4(%edi),%eax
 2cd:	89 3c 24             	mov    %edi,(%esp,1)
 2d0:	ff 50 24             	call   *0x24(%eax)
 2d3:	8b 57 04             	mov    0x4(%edi),%edx
 2d6:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 2d9:	d3 e8                	shr    %cl,%eax
 2db:	25 ff 00 00 00       	and    $0xff,%eax
 2e0:	8b 4d a4             	mov    0xffffffa4(%ebp),%ecx
 2e3:	c1 e0 08             	shl    $0x8,%eax
 2e6:	09 c3                	or     %eax,%ebx
 2e8:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 2eb:	66 89 5e 04          	mov    %bx,0x4(%esi)
 2ef:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
 2f6:	5b                   	pop    %ebx
 2f7:	8d 1c 49             	lea    (%ecx,%ecx,2),%ebx
 2fa:	5e                   	pop    %esi
 2fb:	8d 34 dd 00 00 00 00 	lea    0x0(,%ebx,8),%esi
 302:	89 f0                	mov    %esi,%eax
 304:	01 f3                	add    %esi,%ebx
 306:	29 c8                	sub    %ecx,%eax
 308:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 30b:	01 c8                	add    %ecx,%eax
 30d:	50                   	push   %eax
 30e:	57                   	push   %edi
 30f:	ff 52 1c             	call   *0x1c(%edx)
 312:	58                   	pop    %eax
 313:	8b 45 0c             	mov    0xc(%ebp),%eax
 316:	5a                   	pop    %edx
 317:	8b 57 04             	mov    0x4(%edi),%edx
 31a:	01 f0                	add    %esi,%eax
 31c:	50                   	push   %eax
 31d:	57                   	push   %edi
 31e:	ff 52 20             	call   *0x20(%edx)
 321:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 324:	d3 e8                	shr    %cl,%eax
 326:	25 ff 00 00 00       	and    $0xff,%eax
 32b:	89 45 98             	mov    %eax,0xffffff98(%ebp)
 32e:	8b 47 04             	mov    0x4(%edi),%eax
 331:	89 3c 24             	mov    %edi,(%esp,1)
 334:	ff 50 24             	call   *0x24(%eax)
 337:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 33a:	d3 e8                	shr    %cl,%eax
 33c:	25 ff 00 00 00       	and    $0xff,%eax
 341:	8b 4d 98             	mov    0xffffff98(%ebp),%ecx
 344:	c1 e0 08             	shl    $0x8,%eax
 347:	09 c1                	or     %eax,%ecx
 349:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 34c:	89 4d 98             	mov    %ecx,0xffffff98(%ebp)
 34f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 352:	8b 55 98             	mov    0xffffff98(%ebp),%edx
 355:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
 35c:	66 89 50 08          	mov    %dx,0x8(%eax)
 360:	01 cb                	add    %ecx,%ebx
 362:	58                   	pop    %eax
 363:	8b 47 04             	mov    0x4(%edi),%eax
 366:	5a                   	pop    %edx
 367:	53                   	push   %ebx
 368:	57                   	push   %edi
 369:	ff 50 28             	call   *0x28(%eax)
 36c:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 36f:	d3 e8                	shr    %cl,%eax
 371:	0f b6 f0             	movzbl %al,%esi
 374:	c1 ee 04             	shr    $0x4,%esi
 377:	83 e0 0f             	and    $0xf,%eax
 37a:	8b 4d a4             	mov    0xffffffa4(%ebp),%ecx
 37d:	8d 14 b6             	lea    (%esi,%esi,4),%edx
 380:	8d 04 80             	lea    (%eax,%eax,4),%eax
 383:	8d 14 92             	lea    (%edx,%edx,4),%edx
 386:	8d 04 80             	lea    (%eax,%eax,4),%eax
 389:	c1 e0 02             	shl    $0x2,%eax
 38c:	8d 14 92             	lea    (%edx,%edx,4),%edx
 38f:	8d 14 d0             	lea    (%eax,%edx,8),%edx
 392:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 395:	66 89 50 10          	mov    %dx,0x10(%eax)
 399:	58                   	pop    %eax
 39a:	8b 45 a0             	mov    0xffffffa0(%ebp),%eax
 39d:	29 c8                	sub    %ecx,%eax
 39f:	5a                   	pop    %edx
 3a0:	89 45 a0             	mov    %eax,0xffffffa0(%ebp)
 3a3:	8b 57 04             	mov    0x4(%edi),%edx
 3a6:	8b 5d a0             	mov    0xffffffa0(%ebp),%ebx
 3a9:	8b 45 0c             	mov    0xc(%ebp),%eax
 3ac:	c1 e3 02             	shl    $0x2,%ebx
 3af:	01 d8                	add    %ebx,%eax
 3b1:	50                   	push   %eax
 3b2:	57                   	push   %edi
 3b3:	ff 52 28             	call   *0x28(%edx)
 3b6:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 3b9:	d3 e8                	shr    %cl,%eax
 3bb:	0f b6 f0             	movzbl %al,%esi
 3be:	c1 ee 04             	shr    $0x4,%esi
 3c1:	83 e0 0f             	and    $0xf,%eax
 3c4:	8b 4d a4             	mov    0xffffffa4(%ebp),%ecx
 3c7:	8d 14 b6             	lea    (%esi,%esi,4),%edx
 3ca:	8d 04 80             	lea    (%eax,%eax,4),%eax
 3cd:	01 cb                	add    %ecx,%ebx
 3cf:	8d 14 92             	lea    (%edx,%edx,4),%edx
 3d2:	8d 04 80             	lea    (%eax,%eax,4),%eax
 3d5:	c1 e0 02             	shl    $0x2,%eax
 3d8:	8d 14 92             	lea    (%edx,%edx,4),%edx
 3db:	8d 14 d0             	lea    (%eax,%edx,8),%edx
 3de:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 3e1:	66 89 50 12          	mov    %dx,0x12(%eax)
 3e5:	8b 55 0c             	mov    0xc(%ebp),%edx
 3e8:	5e                   	pop    %esi
 3e9:	01 d3                	add    %edx,%ebx
 3eb:	58                   	pop    %eax
 3ec:	8b 47 04             	mov    0x4(%edi),%eax
 3ef:	53                   	push   %ebx
 3f0:	57                   	push   %edi
 3f1:	ff 50 28             	call   *0x28(%eax)
 3f4:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 3f7:	d3 e8                	shr    %cl,%eax
 3f9:	0f b6 f0             	movzbl %al,%esi
 3fc:	c1 ee 04             	shr    $0x4,%esi
 3ff:	83 e0 0f             	and    $0xf,%eax
 402:	8b 4d a4             	mov    0xffffffa4(%ebp),%ecx
 405:	8d 14 b6             	lea    (%esi,%esi,4),%edx
 408:	8d 04 80             	lea    (%eax,%eax,4),%eax
 40b:	8d 14 92             	lea    (%edx,%edx,4),%edx
 40e:	8d 04 80             	lea    (%eax,%eax,4),%eax
 411:	c1 e0 02             	shl    $0x2,%eax
 414:	8d 14 92             	lea    (%edx,%edx,4),%edx
 417:	8d 14 d0             	lea    (%eax,%edx,8),%edx
 41a:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 41d:	66 89 50 14          	mov    %dx,0x14(%eax)
 421:	8b 45 a4             	mov    0xffffffa4(%ebp),%eax
 424:	c1 e0 04             	shl    $0x4,%eax
 427:	8b 57 04             	mov    0x4(%edi),%edx
 42a:	29 c8                	sub    %ecx,%eax
 42c:	5b                   	pop    %ebx
 42d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 430:	5e                   	pop    %esi
 431:	8d 04 41             	lea    (%ecx,%eax,2),%eax
 434:	50                   	push   %eax
 435:	57                   	push   %edi
 436:	ff 52 28             	call   *0x28(%edx)
 439:	8b 5d a4             	mov    0xffffffa4(%ebp),%ebx
 43c:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 43f:	d3 e8                	shr    %cl,%eax
 441:	0f b6 f0             	movzbl %al,%esi
 444:	c1 ee 04             	shr    $0x4,%esi
 447:	83 e0 0f             	and    $0xf,%eax
 44a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 44d:	8d 14 b6             	lea    (%esi,%esi,4),%edx
 450:	8d 04 80             	lea    (%eax,%eax,4),%eax
 453:	8d 14 92             	lea    (%edx,%edx,4),%edx
 456:	8d 04 80             	lea    (%eax,%eax,4),%eax
 459:	c1 e0 02             	shl    $0x2,%eax
 45c:	8d 14 92             	lea    (%edx,%edx,4),%edx
 45f:	8d 14 d0             	lea    (%eax,%edx,8),%edx
 462:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 465:	66 89 50 16          	mov    %dx,0x16(%eax)
 469:	8b 57 04             	mov    0x4(%edi),%edx
 46c:	5e                   	pop    %esi
 46d:	58                   	pop    %eax
 46e:	8b 45 a4             	mov    0xffffffa4(%ebp),%eax
 471:	c1 e0 05             	shl    $0x5,%eax
 474:	29 d8                	sub    %ebx,%eax
 476:	01 c8                	add    %ecx,%eax
 478:	50                   	push   %eax
 479:	57                   	push   %edi
 47a:	ff 52 28             	call   *0x28(%edx)
 47d:	31 d2                	xor    %edx,%edx
 47f:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 482:	83 c4 10             	add    $0x10,%esp
 485:	d3 e8                	shr    %cl,%eax
 487:	89 c6                	mov    %eax,%esi
 489:	81 e6 ff 00 00 00    	and    $0xff,%esi
 48f:	74 09                	je     49a <cfi_detect+0x41a>
 491:	ba 01 00 00 00       	mov    $0x1,%edx
 496:	89 f1                	mov    %esi,%ecx
 498:	d3 e2                	shl    %cl,%edx
 49a:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 49d:	8b 5d b8             	mov    0xffffffb8(%ebp),%ebx
 4a0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 4a3:	89 50 18             	mov    %edx,0x18(%eax)
 4a6:	8b 55 bc             	mov    0xffffffbc(%ebp),%edx
 4a9:	0f af d3             	imul   %ebx,%edx
 4ac:	c1 e2 05             	shl    $0x5,%edx
 4af:	56                   	push   %esi
 4b0:	56                   	push   %esi
 4b1:	01 ca                	add    %ecx,%edx
 4b3:	8b 47 04             	mov    0x4(%edi),%eax
 4b6:	52                   	push   %edx
 4b7:	57                   	push   %edi
 4b8:	ff 50 28             	call   *0x28(%eax)
 4bb:	31 d2                	xor    %edx,%edx
 4bd:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 4c0:	83 c4 10             	add    $0x10,%esp
 4c3:	d3 e8                	shr    %cl,%eax
 4c5:	89 c6                	mov    %eax,%esi
 4c7:	81 e6 ff 00 00 00    	and    $0xff,%esi
 4cd:	74 09                	je     4d8 <cfi_detect+0x458>
 4cf:	ba 01 00 00 00       	mov    $0x1,%edx
 4d4:	89 f1                	mov    %esi,%ecx
 4d6:	d3 e2                	shl    %cl,%edx
 4d8:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 4db:	8b 5d b8             	mov    0xffffffb8(%ebp),%ebx
 4de:	89 50 1c             	mov    %edx,0x1c(%eax)
 4e1:	8b 55 bc             	mov    0xffffffbc(%ebp),%edx
 4e4:	0f af d3             	imul   %ebx,%edx
 4e7:	89 d0                	mov    %edx,%eax
 4e9:	56                   	push   %esi
 4ea:	c1 e0 05             	shl    $0x5,%eax
 4ed:	56                   	push   %esi
 4ee:	8b 4f 04             	mov    0x4(%edi),%ecx
 4f1:	01 d0                	add    %edx,%eax
 4f3:	8b 55 0c             	mov    0xc(%ebp),%edx
 4f6:	01 d0                	add    %edx,%eax
 4f8:	50                   	push   %eax
 4f9:	57                   	push   %edi
 4fa:	ff 51 28             	call   *0x28(%ecx)
 4fd:	31 d2                	xor    %edx,%edx
 4ff:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 502:	83 c4 10             	add    $0x10,%esp
 505:	d3 e8                	shr    %cl,%eax
 507:	89 c6                	mov    %eax,%esi
 509:	81 e6 ff 00 00 00    	and    $0xff,%esi
 50f:	74 09                	je     51a <cfi_detect+0x49a>
 511:	ba 01 00 00 00       	mov    $0x1,%edx
 516:	89 f1                	mov    %esi,%ecx
 518:	d3 e2                	shl    %cl,%edx
 51a:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 51d:	89 50 20             	mov    %edx,0x20(%eax)
 520:	8b 55 bc             	mov    0xffffffbc(%ebp),%edx
 523:	50                   	push   %eax
 524:	50                   	push   %eax
 525:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
 528:	0f af d0             	imul   %eax,%edx
 52b:	89 d0                	mov    %edx,%eax
 52d:	8b 4f 04             	mov    0x4(%edi),%ecx
 530:	c1 e0 04             	shl    $0x4,%eax
 533:	01 d0                	add    %edx,%eax
 535:	8b 55 0c             	mov    0xc(%ebp),%edx
 538:	8d 04 42             	lea    (%edx,%eax,2),%eax
 53b:	50                   	push   %eax
 53c:	57                   	push   %edi
 53d:	ff 51 28             	call   *0x28(%ecx)
 540:	31 d2                	xor    %edx,%edx
 542:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 545:	83 c4 10             	add    $0x10,%esp
 548:	d3 e8                	shr    %cl,%eax
 54a:	89 c6                	mov    %eax,%esi
 54c:	81 e6 ff 00 00 00    	and    $0xff,%esi
 552:	74 09                	je     55d <cfi_detect+0x4dd>
 554:	ba 01 00 00 00       	mov    $0x1,%edx
 559:	89 f1                	mov    %esi,%ecx
 55b:	d3 e2                	shl    %cl,%edx
 55d:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 560:	8b 75 0c             	mov    0xc(%ebp),%esi
 563:	89 50 24             	mov    %edx,0x24(%eax)
 566:	8b 55 bc             	mov    0xffffffbc(%ebp),%edx
 569:	50                   	push   %eax
 56a:	50                   	push   %eax
 56b:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
 56e:	0f af d0             	imul   %eax,%edx
 571:	8b 4f 04             	mov    0x4(%edi),%ecx
 574:	8d 04 d2             	lea    (%edx,%edx,8),%eax
 577:	c1 e0 02             	shl    $0x2,%eax
 57a:	29 d0                	sub    %edx,%eax
 57c:	01 f0                	add    %esi,%eax
 57e:	50                   	push   %eax
 57f:	57                   	push   %edi
 580:	ff 51 28             	call   *0x28(%ecx)
 583:	31 d2                	xor    %edx,%edx
 585:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 588:	83 c4 10             	add    $0x10,%esp
 58b:	d3 e8                	shr    %cl,%eax
 58d:	89 c6                	mov    %eax,%esi
 58f:	81 e6 ff 00 00 00    	and    $0xff,%esi
 595:	74 0a                	je     5a1 <cfi_detect+0x521>
 597:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 59a:	89 f1                	mov    %esi,%ecx
 59c:	8b 50 18             	mov    0x18(%eax),%edx
 59f:	d3 e2                	shl    %cl,%edx
 5a1:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 5a4:	8b 4d b8             	mov    0xffffffb8(%ebp),%ecx
 5a7:	89 50 28             	mov    %edx,0x28(%eax)
 5aa:	8b 55 bc             	mov    0xffffffbc(%ebp),%edx
 5ad:	0f af d1             	imul   %ecx,%edx
 5b0:	53                   	push   %ebx
 5b1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 5b4:	53                   	push   %ebx
 5b5:	8d 14 d2             	lea    (%edx,%edx,8),%edx
 5b8:	8b 47 04             	mov    0x4(%edi),%eax
 5bb:	8d 14 91             	lea    (%ecx,%edx,4),%edx
 5be:	52                   	push   %edx
 5bf:	57                   	push   %edi
 5c0:	ff 50 28             	call   *0x28(%eax)
 5c3:	31 d2                	xor    %edx,%edx
 5c5:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 5c8:	83 c4 10             	add    $0x10,%esp
 5cb:	d3 e8                	shr    %cl,%eax
 5cd:	89 c6                	mov    %eax,%esi
 5cf:	81 e6 ff 00 00 00    	and    $0xff,%esi
 5d5:	74 0a                	je     5e1 <cfi_detect+0x561>
 5d7:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 5da:	89 f1                	mov    %esi,%ecx
 5dc:	8b 50 1c             	mov    0x1c(%eax),%edx
 5df:	d3 e2                	shl    %cl,%edx
 5e1:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 5e4:	8b 75 b8             	mov    0xffffffb8(%ebp),%esi
 5e7:	8b 5d 0c             	mov    0xc(%ebp),%ebx
 5ea:	89 50 2c             	mov    %edx,0x2c(%eax)
 5ed:	50                   	push   %eax
 5ee:	50                   	push   %eax
 5ef:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
 5f2:	8b 4f 04             	mov    0x4(%edi),%ecx
 5f5:	0f af c6             	imul   %esi,%eax
 5f8:	8d 14 c0             	lea    (%eax,%eax,8),%edx
 5fb:	8d 14 90             	lea    (%eax,%edx,4),%edx
 5fe:	01 da                	add    %ebx,%edx
 600:	52                   	push   %edx
 601:	57                   	push   %edi
 602:	ff 51 28             	call   *0x28(%ecx)
 605:	31 d2                	xor    %edx,%edx
 607:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 60a:	83 c4 10             	add    $0x10,%esp
 60d:	d3 e8                	shr    %cl,%eax
 60f:	89 c6                	mov    %eax,%esi
 611:	81 e6 ff 00 00 00    	and    $0xff,%esi
 617:	74 0a                	je     623 <cfi_detect+0x5a3>
 619:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 61c:	89 f1                	mov    %esi,%ecx
 61e:	8b 50 20             	mov    0x20(%eax),%edx
 621:	d3 e2                	shl    %cl,%edx
 623:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 626:	89 50 30             	mov    %edx,0x30(%eax)
 629:	8b 55 b8             	mov    0xffffffb8(%ebp),%edx
 62c:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
 62f:	51                   	push   %ecx
 630:	0f af c2             	imul   %edx,%eax
 633:	51                   	push   %ecx
 634:	8d 14 c0             	lea    (%eax,%eax,8),%edx
 637:	8b 4f 04             	mov    0x4(%edi),%ecx
 63a:	8d 14 50             	lea    (%eax,%edx,2),%edx
 63d:	8b 45 0c             	mov    0xc(%ebp),%eax
 640:	8d 14 50             	lea    (%eax,%edx,2),%edx
 643:	52                   	push   %edx
 644:	57                   	push   %edi
 645:	ff 51 28             	call   *0x28(%ecx)
 648:	31 d2                	xor    %edx,%edx
 64a:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 64d:	83 c4 10             	add    $0x10,%esp
 650:	d3 e8                	shr    %cl,%eax
 652:	89 c6                	mov    %eax,%esi
 654:	81 e6 ff 00 00 00    	and    $0xff,%esi
 65a:	74 0a                	je     666 <cfi_detect+0x5e6>
 65c:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 65f:	89 f1                	mov    %esi,%ecx
 661:	8b 50 24             	mov    0x24(%eax),%edx
 664:	d3 e2                	shl    %cl,%edx
 666:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 669:	8b 5d b8             	mov    0xffffffb8(%ebp),%ebx
 66c:	89 50 34             	mov    %edx,0x34(%eax)
 66f:	56                   	push   %esi
 670:	56                   	push   %esi
 671:	8b 75 bc             	mov    0xffffffbc(%ebp),%esi
 674:	0f af f3             	imul   %ebx,%esi
 677:	8b 57 04             	mov    0x4(%edi),%edx
 67a:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
 67d:	89 cb                	mov    %ecx,%ebx
 67f:	89 4d 94             	mov    %ecx,0xffffff94(%ebp)
 682:	c1 e3 03             	shl    $0x3,%ebx
 685:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 688:	89 d8                	mov    %ebx,%eax
 68a:	29 f0                	sub    %esi,%eax
 68c:	01 c8                	add    %ecx,%eax
 68e:	50                   	push   %eax
 68f:	57                   	push   %edi
 690:	ff 52 28             	call   *0x28(%edx)
 693:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 696:	89 c2                	mov    %eax,%edx
 698:	b8 01 00 00 00       	mov    $0x1,%eax
 69d:	d3 ea                	shr    %cl,%edx
 69f:	88 d1                	mov    %dl,%cl
 6a1:	d3 e0                	shl    %cl,%eax
 6a3:	8b 4d b4             	mov    0xffffffb4(%ebp),%ecx
 6a6:	89 41 38             	mov    %eax,0x38(%ecx)
 6a9:	58                   	pop    %eax
 6aa:	8b 45 0c             	mov    0xc(%ebp),%eax
 6ad:	5a                   	pop    %edx
 6ae:	01 d8                	add    %ebx,%eax
 6b0:	8b 57 04             	mov    0x4(%edi),%edx
 6b3:	01 f3                	add    %esi,%ebx
 6b5:	50                   	push   %eax
 6b6:	57                   	push   %edi
 6b7:	ff 52 1c             	call   *0x1c(%edx)
 6ba:	8b 55 0c             	mov    0xc(%ebp),%edx
 6bd:	59                   	pop    %ecx
 6be:	01 d3                	add    %edx,%ebx
 6c0:	58                   	pop    %eax
 6c1:	8b 47 04             	mov    0x4(%edi),%eax
 6c4:	53                   	push   %ebx
 6c5:	57                   	push   %edi
 6c6:	ff 50 20             	call   *0x20(%eax)
 6c9:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 6cc:	d3 e8                	shr    %cl,%eax
 6ce:	0f b6 d8             	movzbl %al,%ebx
 6d1:	8b 47 04             	mov    0x4(%edi),%eax
 6d4:	89 3c 24             	mov    %edi,(%esp,1)
 6d7:	ff 50 24             	call   *0x24(%eax)
 6da:	8b 57 04             	mov    0x4(%edi),%edx
 6dd:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 6e0:	d3 e8                	shr    %cl,%eax
 6e2:	25 ff 00 00 00       	and    $0xff,%eax
 6e7:	c1 e0 08             	shl    $0x8,%eax
 6ea:	09 c3                	or     %eax,%ebx
 6ec:	8b 45 b4             	mov    0xffffffb4(%ebp),%eax
 6ef:	66 89 58 3c          	mov    %bx,0x3c(%eax)
 6f3:	8b 45 0c             	mov    0xc(%ebp),%eax
 6f6:	59                   	pop    %ecx
 6f7:	8b 4d 94             	mov    0xffffff94(%ebp),%ecx
 6fa:	5b                   	pop    %ebx
 6fb:	8d 1c 8e             	lea    (%esi,%ecx,4),%ebx
 6fe:	01 db                	add    %ebx,%ebx
 700:	01 d8                	add    %ebx,%eax
 702:	01 f3                	add    %esi,%ebx
 704:	50                   	push   %eax
 705:	57                   	push   %edi
 706:	ff 52 1c             	call   *0x1c(%edx)
 709:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 70c:	58                   	pop    %eax
 70d:	01 cb                	add    %ecx,%ebx
 70f:	8b 47 04             	mov    0x4(%edi),%eax
 712:	5a                   	pop    %edx
 713:	53                   	push   %ebx
 714:	57                   	push   %edi
 715:	ff 50 20             	call   *0x20(%eax)
 718:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 71b:	d3 e8                	shr    %cl,%eax
 71d:	0f b6 d8             	movzbl %al,%ebx
 720:	8b 47 04             	mov    0x4(%edi),%eax
 723:	89 3c 24             	mov    %edi,(%esp,1)
 726:	ff 50 24             	call   *0x24(%eax)
 729:	8b 55 b4             	mov    0xffffffb4(%ebp),%edx
 72c:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 72f:	d3 e8                	shr    %cl,%eax
 731:	25 ff 00 00 00       	and    $0xff,%eax
 736:	c1 e0 08             	shl    $0x8,%eax
 739:	09 c3                	or     %eax,%ebx
 73b:	b8 01 00 00 00       	mov    $0x1,%eax
 740:	88 d9                	mov    %bl,%cl
 742:	d3 e0                	shl    %cl,%eax
 744:	8b 4d 94             	mov    0xffffff94(%ebp),%ecx
 747:	89 42 40             	mov    %eax,0x40(%edx)
 74a:	58                   	pop    %eax
 74b:	8b 47 04             	mov    0x4(%edi),%eax
 74e:	5a                   	pop    %edx
 74f:	8d 14 4e             	lea    (%esi,%ecx,2),%edx
 752:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 755:	8d 14 91             	lea    (%ecx,%edx,4),%edx
 758:	52                   	push   %edx
 759:	57                   	push   %edi
 75a:	ff 50 28             	call   *0x28(%eax)
 75d:	8b 55 b4             	mov    0xffffffb4(%ebp),%edx
 760:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 763:	d3 e8                	shr    %cl,%eax
 765:	88 42 44             	mov    %al,0x44(%edx)
 768:	25 ff 00 00 00       	and    $0xff,%eax
 76d:	89 c6                	mov    %eax,%esi
 76f:	8d 04 c5 00 00 00 00 	lea    0x0(,%eax,8),%eax
 776:	89 04 24             	mov    %eax,(%esp,1)
 779:	e8 fc ff ff ff       	call   77a <cfi_detect+0x6fa>
 77e:	8b 4d b4             	mov    0xffffffb4(%ebp),%ecx
 781:	83 c4 10             	add    $0x10,%esp
 784:	85 c0                	test   %eax,%eax
 786:	89 41 48             	mov    %eax,0x48(%ecx)
 789:	0f 84 ab 02 00 00    	je     a3a <cfi_detect+0x9ba>
 78f:	c7 45 90 00 00 00 00 	movl   $0x0,0xffffff90(%ebp)
 796:	39 75 90             	cmp    %esi,0xffffff90(%ebp)
 799:	0f 83 3b 01 00 00    	jae    8da <cfi_detect+0x85a>
 79f:	8b 55 bc             	mov    0xffffffbc(%ebp),%edx
 7a2:	8d 04 52             	lea    (%edx,%edx,2),%eax
 7a5:	89 c1                	mov    %eax,%ecx
 7a7:	c1 e1 04             	shl    $0x4,%ecx
 7aa:	89 4d 88             	mov    %ecx,0xffffff88(%ebp)
 7ad:	29 d1                	sub    %edx,%ecx
 7af:	8b 55 88             	mov    0xffffff88(%ebp),%edx
 7b2:	89 4d 84             	mov    %ecx,0xffffff84(%ebp)
 7b5:	29 c2                	sub    %eax,%edx
 7b7:	8b 4d bc             	mov    0xffffffbc(%ebp),%ecx
 7ba:	8b 45 bc             	mov    0xffffffbc(%ebp),%eax
 7bd:	01 d1                	add    %edx,%ecx
 7bf:	c1 e0 02             	shl    $0x2,%eax
 7c2:	89 4d 80             	mov    %ecx,0xffffff80(%ebp)
 7c5:	89 95 7c ff ff ff    	mov    %edx,0xffffff7c(%ebp)
 7cb:	89 85 78 ff ff ff    	mov    %eax,0xffffff78(%ebp)
 7d1:	8b 5d b8             	mov    0xffffffb8(%ebp),%ebx
 7d4:	50                   	push   %eax
 7d5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 7d8:	50                   	push   %eax
 7d9:	8b 85 7c ff ff ff    	mov    0xffffff7c(%ebp),%eax
 7df:	0f af c3             	imul   %ebx,%eax
 7e2:	8b 57 04             	mov    0x4(%edi),%edx
 7e5:	01 c8                	add    %ecx,%eax
 7e7:	50                   	push   %eax
 7e8:	57                   	push   %edi
 7e9:	ff 52 1c             	call   *0x1c(%edx)
 7ec:	8b 4d b8             	mov    0xffffffb8(%ebp),%ecx
 7ef:	5b                   	pop    %ebx
 7f0:	8b 57 04             	mov    0x4(%edi),%edx
 7f3:	58                   	pop    %eax
 7f4:	8b 5d 0c             	mov    0xc(%ebp),%ebx
 7f7:	8b 45 80             	mov    0xffffff80(%ebp),%eax
 7fa:	0f af c1             	imul   %ecx,%eax
 7fd:	01 d8                	add    %ebx,%eax
 7ff:	50                   	push   %eax
 800:	57                   	push   %edi
 801:	ff 52 20             	call   *0x20(%edx)
 804:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 807:	d3 e8                	shr    %cl,%eax
 809:	25 ff 00 00 00       	and    $0xff,%eax
 80e:	89 45 8c             	mov    %eax,0xffffff8c(%ebp)
 811:	8b 47 04             	mov    0x4(%edi),%eax
 814:	89 3c 24             	mov    %edi,(%esp,1)
 817:	ff 50 24             	call   *0x24(%eax)
 81a:	8b 5d b8             	mov    0xffffffb8(%ebp),%ebx
 81d:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 820:	d3 e8                	shr    %cl,%eax
 822:	25 ff 00 00 00       	and    $0xff,%eax
 827:	8b 4d 8c             	mov    0xffffff8c(%ebp),%ecx
 82a:	c1 e0 08             	shl    $0x8,%eax
 82d:	09 c1                	or     %eax,%ecx
 82f:	58                   	pop    %eax
 830:	8b 45 84             	mov    0xffffff84(%ebp),%eax
 833:	89 4d 8c             	mov    %ecx,0xffffff8c(%ebp)
 836:	0f af c3             	imul   %ebx,%eax
 839:	5a                   	pop    %edx
 83a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 83d:	8b 57 04             	mov    0x4(%edi),%edx
 840:	01 c8                	add    %ecx,%eax
 842:	50                   	push   %eax
 843:	57                   	push   %edi
 844:	ff 52 1c             	call   *0x1c(%edx)
 847:	8b 4d 0c             	mov    0xc(%ebp),%ecx
 84a:	58                   	pop    %eax
 84b:	8b 5d b8             	mov    0xffffffb8(%ebp),%ebx
 84e:	8b 45 88             	mov    0xffffff88(%ebp),%eax
 851:	5a                   	pop    %edx
 852:	0f af c3             	imul   %ebx,%eax
 855:	8b 57 04             	mov    0x4(%edi),%edx
 858:	01 c8                	add    %ecx,%eax
 85a:	50                   	push   %eax
 85b:	57                   	push   %edi
 85c:	ff 52 20             	call   *0x20(%edx)
 85f:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 862:	d3 e8                	shr    %cl,%eax
 864:	0f b6 d8             	movzbl %al,%ebx
 867:	8b 47 04             	mov    0x4(%edi),%eax
 86a:	89 3c 24             	mov    %edi,(%esp,1)
 86d:	ff 50 24             	call   *0x24(%eax)
 870:	83 c4 10             	add    $0x10,%esp
 873:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 876:	d3 e8                	shr    %cl,%eax
 878:	25 ff 00 00 00       	and    $0xff,%eax
 87d:	c1 e0 08             	shl    $0x8,%eax
 880:	09 c3                	or     %eax,%ebx
 882:	89 d8                	mov    %ebx,%eax
 884:	c1 e0 08             	shl    $0x8,%eax
 887:	75 05                	jne    88e <cfi_detect+0x80e>
 889:	b8 80 00 00 00       	mov    $0x80,%eax
 88e:	8b 4d b4             	mov    0xffffffb4(%ebp),%ecx
 891:	8b 5d 80             	mov    0xffffff80(%ebp),%ebx
 894:	8b 51 48             	mov    0x48(%ecx),%edx
 897:	8b 4d 90             	mov    0xffffff90(%ebp),%ecx
 89a:	89 04 ca             	mov    %eax,(%edx,%ecx,8)
 89d:	8b 45 8c             	mov    0xffffff8c(%ebp),%eax
 8a0:	40                   	inc    %eax
 8a1:	89 44 ca 04          	mov    %eax,0x4(%edx,%ecx,8)
 8a5:	8b 95 7c ff ff ff    	mov    0xffffff7c(%ebp),%edx
 8ab:	8b 85 78 ff ff ff    	mov    0xffffff78(%ebp),%eax
 8b1:	41                   	inc    %ecx
 8b2:	01 c2                	add    %eax,%edx
 8b4:	01 c3                	add    %eax,%ebx
 8b6:	89 95 7c ff ff ff    	mov    %edx,0xffffff7c(%ebp)
 8bc:	89 5d 80             	mov    %ebx,0xffffff80(%ebp)
 8bf:	8b 55 84             	mov    0xffffff84(%ebp),%edx
 8c2:	8b 5d 88             	mov    0xffffff88(%ebp),%ebx
 8c5:	01 c2                	add    %eax,%edx
 8c7:	01 c3                	add    %eax,%ebx
 8c9:	89 4d 90             	mov    %ecx,0xffffff90(%ebp)
 8cc:	89 55 84             	mov    %edx,0xffffff84(%ebp)
 8cf:	89 5d 88             	mov    %ebx,0xffffff88(%ebp)
 8d2:	39 f1                	cmp    %esi,%ecx
 8d4:	0f 82 f7 fe ff ff    	jb     7d1 <cfi_detect+0x751>
 8da:	ba ff 00 00 00       	mov    $0xff,%edx
 8df:	51                   	push   %ecx
 8e0:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 8e3:	8b 47 04             	mov    0x4(%edi),%eax
 8e6:	d3 e2                	shl    %cl,%edx
 8e8:	52                   	push   %edx
 8e9:	8b 55 0c             	mov    0xc(%ebp),%edx
 8ec:	52                   	push   %edx
 8ed:	57                   	push   %edi
 8ee:	ff 50 2c             	call   *0x2c(%eax)
 8f1:	8b 55 b4             	mov    0xffffffb4(%ebp),%edx
 8f4:	66 8b 42 3c          	mov    0x3c(%edx),%ax
 8f8:	83 c4 10             	add    $0x10,%esp
 8fb:	25 ff ff 00 00       	and    $0xffff,%eax
 900:	ba f9 ff ff ff       	mov    $0xfffffff9,%edx
 905:	83 f8 04             	cmp    $0x4,%eax
 908:	77 5b                	ja     965 <cfi_detect+0x8e5>
 90a:	ff 24 85 00 00 00 00 	jmp    *0x0(,%eax,4)
 911:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
 914:	ba f9 ff ff ff       	mov    $0xfffffff9,%edx
 919:	48                   	dec    %eax
 91a:	83 f8 01             	cmp    $0x1,%eax
 91d:	77 46                	ja     965 <cfi_detect+0x8e5>
 91f:	8b 4d 10             	mov    0x10(%ebp),%ecx
 922:	8b 55 c0             	mov    0xffffffc0(%ebp),%edx
 925:	c1 ea 03             	shr    $0x3,%edx
 928:	8b 01                	mov    (%ecx),%eax
 92a:	8b 40 0c             	mov    0xc(%eax),%eax
 92d:	8b 0c 90             	mov    (%eax,%edx,4),%ecx
 930:	ba 04 00 00 00       	mov    $0x4,%edx
 935:	89 d0                	mov    %edx,%eax
 937:	c1 fa 1f             	sar    $0x1f,%edx
 93a:	f7 7d b8             	idivl  0xffffffb8(%ebp)
 93d:	89 01                	mov    %eax,(%ecx)
 93f:	83 7d b8 01          	cmpl   $0x1,0xffffffb8(%ebp)
 943:	74 5a                	je     99f <cfi_detect+0x91f>
 945:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
 948:	83 c0 08             	add    $0x8,%eax
 94b:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
 94e:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
 951:	83 c0 08             	add    $0x8,%eax
 954:	89 45 c0             	mov    %eax,0xffffffc0(%ebp)
 957:	8b 45 c4             	mov    0xffffffc4(%ebp),%eax
 95a:	39 45 c0             	cmp    %eax,0xffffffc0(%ebp)
 95d:	0f 82 f8 f7 ff ff    	jb     15b <cfi_detect+0xdb>
 963:	31 d2                	xor    %edx,%edx
 965:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
 968:	89 d0                	mov    %edx,%eax
 96a:	5b                   	pop    %ebx
 96b:	5e                   	pop    %esi
 96c:	5f                   	pop    %edi
 96d:	5d                   	pop    %ebp
 96e:	c3                   	ret    
 96f:	90                   	nop    
 970:	8b 55 b0             	mov    0xffffffb0(%ebp),%edx
 973:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
 976:	89 d0                	mov    %edx,%eax
 978:	5b                   	pop    %ebx
 979:	5e                   	pop    %esi
 97a:	5f                   	pop    %edi
 97b:	5d                   	pop    %ebp
 97c:	c3                   	ret    
 97d:	ba f9 ff ff ff       	mov    $0xfffffff9,%edx
 982:	83 7d b8 01          	cmpl   $0x1,0xffffffb8(%ebp)
 986:	75 dd                	jne    965 <cfi_detect+0x8e5>
 988:	8b 55 10             	mov    0x10(%ebp),%edx
 98b:	8b 02                	mov    (%edx),%eax
 98d:	8b 55 c0             	mov    0xffffffc0(%ebp),%edx
 990:	c1 ea 03             	shr    $0x3,%edx
 993:	8b 40 0c             	mov    0xc(%eax),%eax
 996:	8b 04 90             	mov    (%eax,%edx,4),%eax
 999:	c7 00 04 00 00 00    	movl   $0x4,(%eax)
 99f:	8b 45 c0             	mov    0xffffffc0(%ebp),%eax
 9a2:	83 c0 18             	add    $0x18,%eax
 9a5:	eb a4                	jmp    94b <cfi_detect+0x8cb>
 9a7:	8b 45 b8             	mov    0xffffffb8(%ebp),%eax
 9aa:	ba f9 ff ff ff       	mov    $0xfffffff9,%edx
 9af:	48                   	dec    %eax
 9b0:	83 f8 01             	cmp    $0x1,%eax
 9b3:	77 b0                	ja     965 <cfi_detect+0x8e5>
 9b5:	8b 4d 10             	mov    0x10(%ebp),%ecx
 9b8:	8b 55 c0             	mov    0xffffffc0(%ebp),%edx
 9bb:	c1 ea 03             	shr    $0x3,%edx
 9be:	8b 01                	mov    (%ecx),%eax
 9c0:	8b 40 0c             	mov    0xc(%eax),%eax
 9c3:	8b 0c 90             	mov    (%eax,%edx,4),%ecx
 9c6:	ba 02 00 00 00       	mov    $0x2,%edx
 9cb:	89 d0                	mov    %edx,%eax
 9cd:	c1 fa 1f             	sar    $0x1f,%edx
 9d0:	f7 7d b8             	idivl  0xffffffb8(%ebp)
 9d3:	89 01                	mov    %eax,(%ecx)
 9d5:	83 7d b8 01          	cmpl   $0x1,0xffffffb8(%ebp)
 9d9:	0f 85 6f ff ff ff    	jne    94e <cfi_detect+0x8ce>
 9df:	e9 61 ff ff ff       	jmp    945 <cfi_detect+0x8c5>
 9e4:	ba f9 ff ff ff       	mov    $0xfffffff9,%edx
 9e9:	83 7d b8 01          	cmpl   $0x1,0xffffffb8(%ebp)
 9ed:	0f 85 72 ff ff ff    	jne    965 <cfi_detect+0x8e5>
 9f3:	8b 55 10             	mov    0x10(%ebp),%edx
 9f6:	8b 02                	mov    (%edx),%eax
 9f8:	8b 55 c0             	mov    0xffffffc0(%ebp),%edx
 9fb:	c1 ea 03             	shr    $0x3,%edx
 9fe:	8b 40 0c             	mov    0xc(%eax),%eax
 a01:	8b 04 90             	mov    (%eax,%edx,4),%eax
 a04:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
 a0a:	e9 36 ff ff ff       	jmp    945 <cfi_detect+0x8c5>
 a0f:	ba f9 ff ff ff       	mov    $0xfffffff9,%edx
 a14:	83 7d b8 01          	cmpl   $0x1,0xffffffb8(%ebp)
 a18:	0f 85 47 ff ff ff    	jne    965 <cfi_detect+0x8e5>
 a1e:	8b 4d 10             	mov    0x10(%ebp),%ecx
 a21:	8b 55 c0             	mov    0xffffffc0(%ebp),%edx
 a24:	c1 ea 03             	shr    $0x3,%edx
 a27:	8b 01                	mov    (%ecx),%eax
 a29:	8b 40 0c             	mov    0xc(%eax),%eax
 a2c:	8b 04 90             	mov    (%eax,%edx,4),%eax
 a2f:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
 a35:	e9 14 ff ff ff       	jmp    94e <cfi_detect+0x8ce>
 a3a:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 a3d:	50                   	push   %eax
 a3e:	b8 ff 00 00 00       	mov    $0xff,%eax
 a43:	8b 57 04             	mov    0x4(%edi),%edx
 a46:	d3 e0                	shl    %cl,%eax
 a48:	50                   	push   %eax
 a49:	8b 45 0c             	mov    0xc(%ebp),%eax
 a4c:	50                   	push   %eax
 a4d:	57                   	push   %edi
 a4e:	ff 52 2c             	call   *0x2c(%edx)
 a51:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
 a56:	e9 0a ff ff ff       	jmp    965 <cfi_detect+0x8e5>
 a5b:	8a 4d c0             	mov    0xffffffc0(%ebp),%cl
 a5e:	52                   	push   %edx
 a5f:	b8 ff 00 00 00       	mov    $0xff,%eax
 a64:	8b 57 04             	mov    0x4(%edi),%edx
 a67:	d3 e0                	shl    %cl,%eax
 a69:	50                   	push   %eax
 a6a:	8b 45 0c             	mov    0xc(%ebp),%eax
 a6d:	50                   	push   %eax
 a6e:	57                   	push   %edi
 a6f:	ff 52 2c             	call   *0x2c(%edx)
 a72:	ba fa ff ff ff       	mov    $0xfffffffa,%edx
 a77:	e9 e9 fe ff ff       	jmp    965 <cfi_detect+0x8e5>
